home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48hor2 / fixit.doc < prev    next >
Text File  |  1995-03-31  |  4KB  |  93 lines

  1. (Comp.sources.hp48) 
  2. Item: 139 by akcs.joehorn@hpcvbbs.cv.hp.com [Joseph K. Horn] 
  3.                         and mheiskan@hut.fi [Mika Heiskanen] 
  4. Subj: Fixit v3.2, repairs bad downloads 
  5. Date: 14 Jul 1992 
  6.  
  7. PURPOSE: 
  8. ------- 
  9. Converts a badly uploaded string into the original object. 
  10.  
  11. THEORY: 
  12. ------ 
  13. A lot of folks upload HP 48 objects poorly, such that when you 
  14. download them, you just get strings full of garbage that look 
  15. something like this: 
  16.  
  17.     "HPHP48-E#c&r$a%p@!*!..."     [looks familiar, eh?] 
  18.  
  19. That's because they uploaded it using XMODEM, or managed to screw it 
  20. up some other way.  The following FIXIT program takes such a string 
  21. and extracts the actual HP 48 object that they originally intended to 
  22. upload (if at all possible). 
  23.  
  24. Such object extraction can be done by hand, but it's too dangerous. 
  25. FIXIT minimizes the danger of Memory Clear.  It checks whether the 
  26. extracted object is a valid one, and if not, drops it from the stack 
  27. before the HP 48 attempts to display it.  All of the many bad 
  28. downloads I've archived over the years are fixed by FIXIT, whereas 
  29. about half of them cause a Memory Clear when extracted manually. No 
  30. guarantees, however.  Use at your own risk. 
  31.  
  32. The actual extraction is done by a "Code object" written by Mika 
  33. Heiskanen.  The User RPL "shell" around this code object is what 
  34. minimizes the danger of Memory Clear; it was written by Joe Horn. 
  35.  
  36. INSTRUCTIONS: 
  37. ------------ 
  38. BACKUP YOUR MEMORY, just in case the string contains a logic bomb. 
  39.  
  40. Place the bad download on the stack (see "HPHP48-...") and run FIXIT. 
  41.  
  42. Possible results: 
  43.  
  44. (1) No error: the object was extracted successfully and is on level 1. 
  45.  
  46. (2) "Bad Argument Type" error: you didn't have a string on level 1. 
  47.  
  48. (3) "Bad Argument Value" error: the string wasn't of the proper form; 
  49.     it must be an "HPHP48-..." downloaded string. 
  50.  
  51. (4) "Invalid Definition" error: the object was mangled in transmission 
  52.     so badly that its end was lost; the object cannot be extracted. 
  53.  
  54. (5) "Undefined Result" error: there is no HP 48 object in the string. 
  55.  
  56. (6) "Recover Memory? YES/NO": the string contained a bomb, and FIXIT 
  57.     detonated it.  Press YES to sift through the shrapnel and rubble 
  58.     in a feeble attempt to resurrect the dead.  Press NO to bury them. 
  59.  
  60. EXAMPLES: 
  61. -------- 
  62. To do the following examples, download the FIXIT directory to your HP 48 
  63. and get into it. 
  64.  
  65. (1) Press HI.  See "HPHP48-E%$@#%@...", a badly uploaded download. 
  66.     Before pressing FIXIT to fix it, try doing what we all used to do: 
  67.     press EDIT to see if we can recognize anything (usually a futile 
  68.     attempt).  We see: 
  69.  
  70.     "HPHP48-E%@$#%$@... 
  71.     << Melancholy Baby >>" 
  72.  
  73.     But looks can be deceiving; press ON to exit the editor, and then 
  74.     press FIXIT to extract the intended upload: 
  75.  
  76.     << Happy Camper >> 
  77.  
  78. (2) Press WTAV; see another garbage download.  But EDIT refuses; the 
  79.     string contains nulls.  Press FIXIT; see successfully extracted 
  80.     directory. 
  81.  
  82. (3) Press BAD1.  Notice that it looks exactly like WTAV.  (Press WTAV, 
  83.     compare, then DROP).  But its ending is all messed up; manually 
  84.     extracting WTAV from BAD1 can cause Memory Clear.  Press FIXIT and 
  85.     see "Error: Invalid Definition" indicating that the object inside 
  86.     BAD1 is so mangled that its end cannot be located. 
  87.  
  88. (4) Press BAD2.  Looks like WTAV again.  But its body is messed up; 
  89.     manually extracting it would create an External object that could 
  90.     cause Memory Clear if evaluated.  Press FIXIT and see "Error: 
  91.     Undefined Result" indicating that there is nothing recognizable 
  92.     inside BAD2. 
  93.